﻿function Idioma() {

    this.Clie_ID = null;
    this.CodigoConvocatoria = null;

    //Para verificar el estado de la ficha
    this.VerificarEstadoFicha = function () {
        return true;
    };

    //Funcion que sirve para ir a la siguiente ficha
    this.FichaSiguiente = function () {
        return true;
    }

    //Funcion que sirve para ir a la anterior
    this.FichaAnterior = function () {
        return true;
    }

    this.PreInit = function () {
        var _parent = this;

        _parent.TituloModalForm = "Idiomas";
        _parent.CssModalForm = {
            'top': "40%",
            'width': '400px',
            'margin-left': function () {
                return -($(this).width() / 2);
            }
        }

        //Accion para la siguiente ficha
        var cont = _parent._getCont();
        cont.find("#Regresar").click(function () {
            _parent.FichaAnterior();
        });
        cont.find("#Continuar").click(function () {
            _parent.FichaSiguiente();
        });

        _parent._Editar();
        _parent._Eliminar();

        _parent._getCont().find("#nuevo").click(function () {
            _parent.Form(
             { Clie_ID: _parent.Clie_ID }
            );
        })
    }


    /**
    Eliminar el registro
    */
    this._Eliminar = function () {

        var _parent = this;

        _parent._getContList().off('click', '.eliminar');
        _parent._getContList().on('click', '.eliminar', function (e) {
            e.preventDefault();
            var obj = $(this);

            var confirmacion = _parent._MensajeConfirmacion();

            confirmacion.yes = function () {
                jQuery.post(URL_PAGE + "Postulante/Ficha/EliminarIdioma",
                                         {
                                             Clie_ID: _parent.Clie_ID,
                                             CLId_ID: obj.attr('data-CLId_ID')
                                         },
                             function (data) {

                                 confirmacion.getModal.modal('hide');
                                 _parent._MensajesOperacion("success",
                                                    "Registro eliminado",
                                                    "La información de idioma fue eliminada correctamente");
                                 _parent.List(
                                    {
                                        Clie_ID: _parent.Clie_ID,
                                        CodigoConvocatoria: _parent.CodigoConvocatoria
                                    });

                                 _parent.VerificarEstadoFicha();
                             }
                   , "json");
            };

            confirmacion.modal();

        });
    };

    /**
    Editar el registro
    */
    this._Editar = function () {

        var _parent = this;

        _parent._getContList().off('click', '.editar');
        _parent._getContList().on('click', '.editar', function (e) {
            e.preventDefault();
            var obj = $(this);


            _parent.Form(
                {
                    Clie_ID: _parent.Clie_ID,
                    CLId_ID: obj.attr('data-CLId_ID')
                }
            )


        });
    };

    //Despues de cargar el formulario
    this._PostForm = function () {

        var _parent = this;
        _parent._InicializarVisualizacionControles();
        _parent.ValidacionCamposForm();
        _parent._CargarEventosForm();
    }

    this.ValidacionCamposForm = function () {

        var _parent = this;

        var form = _parent._getForm();
        //Colocando la validacion del formulario

        form.find("#Idio_Codigo").addClass("validate[required]");
        form.find("#CLId_NivLee").addClass("validate[required]");
        form.find("#CLId_NivEscribe").addClass("validate[required]");
        form.find("#CLId_NivHabla").addClass("validate[required]");
    }


    /**
    Inicializacion de visualizacion de controles del formulario
    */
    this._InicializarVisualizacionControles = function () {

        var _parent = this;

        var form = _parent._getForm();
        form.find("#otro_tipo_institucion").hide();
        form.find("#otra_institucion").hide();
        form.find("#Layer_OtrosEspecialidad").hide();
        form.find("#Layer_OtrosGradoAcademico").hide();

    };

    /**
    Carga de eventos
    */
    this._CargarEventosForm = function () {

        var _parent = this;




        _parent._getContForm().find("#aceptar").click(function () {
            $(this).attr("disabled", "disabled");
            _parent._getForm().submit();
        })

        _parent._getForm().validationEngine({
            promptPosition: "topLeft",
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {

                if (status) {

                    _parent._getForm().ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {

                            _parent._MensajesOperacion("success", "Registro grabado", "La información de idioma fue registrada correctamente");
                            _parent.List(
                                {
                                    Clie_ID: _parent.Clie_ID,
                                    CodigoConvocatoria: _parent.CodigoConvocatoria
                                }
                            );
                            _parent._getContForm().modal('hide');
                            _parent.VerificarEstadoFicha();
                        }
                    });
                } else {
                    _parent._getContForm().find("#aceptar").removeAttr("disabled");
                }
            }
        });


    }

}



/*
function ValidarIdioma() {
var exito = true;
//alert($("#modal-id").find("#CLId_NumCorrela").val());
$.each($("#divListadoID").find("tr"), function (index, value) {
//Si el código ingresado ya se encuentra en la lista
if ($("#modal-id").find("#Idio_Codigo").val() == $(value).attr('data-value-idioma') && $("#modal-id").find("#CLId_NumCorrela").val() == 0) {
alert("El curso seleccionado ya se encuentra registrado");
exito = false;
}
});
return exito;
}*/

